﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Iacym.Entities;

namespace Iacym.BusinessLogic
{
    public interface IPersonaBL
    {
        List<PERSONA> GetAllFromPersona();
        List<PERSONA> GetFromPersonaByDescripcion(string descripcion);

        List<PERSONA> GetFromPersonaByDescripcionByCriteriosEspecificos(Int32 idestadocivil, Int32 idsexo, bool nocreyente, bool creyentelocal,/* bool creyentetransferencia, bool creyentetransferido, bool vivo, bool muerto, bool activo, bool noactivo,*/ string descripcion);

        List<PERSONA> GetFromPersonaByEspecialidad(string descripcion);
        List<PERSONA> GetFromPersonaByProfesion(string descripcion);
        List<PERSONA> GetFromPersonaByCargo(string descripcion);
        List<PERSONA> GetFromPersonaByEmpresa(string descripcion);
        List<PERSONA> GetFromPersonaByIdioma(string descripcion);
        

        //PERSONA GetAllFromPersonaById(Int32 id);

        PERSONA GetFromPersonaById(Int32 id);
        PERSONA GetFromPersonaByDni(string dni);
        PERSONA GetFromPersonaByNroMembresia(Int32 membresia);

        void AddPersona(PERSONA persona);
        void UpdatePersona(PERSONA persona);
        void DeletePersona(Int32 id);

        void AddPersonaConCargoIglesia(PERSONA persona);
        void UpdatePersonaConCargoIglesia(PERSONA persona);
        void DeletePersonaConCargoIglesia(Int32 id);

        List<PERSONA> GetAllFromPersonaByFechaNac(Int32 fecNacIni, Int32 fecNacFin);
        List<PERSONA> GetFromPersonaByDiscipulador(Int32 id);
    }
}
